Skip to main content

Querying Transaction Result on the Merchant Side

The merchant can query the transaction details using the transactionReference or paymentReference.

Only one identifier can be present in the request.

Endpoints

EAM transaction status query by transaction or payment reference:

POST {BaseURL}/v1/ofo/eam/query
Note

If EAM is included in the paymentMethods array during the start call, this endpoint must be used. The EAM is generated immediately after opening the Online Payment Page (after redirect) and can be queried. Use this endpoint for EAM transaction status queries instead of the old onlinefizetes-v1/query-by-transaction-reference endpoint (the old one was deleted in January 2026). To migrate, only the PATH needs to be changed; for RTP queries, there is a different PATH.

RTP transaction status query by transaction reference only:

POST {BaseURL}/v1/ofo/rtp/query
Note

If the paymentMethods array contains the RTP value during the start call, this endpoint must be used. For RTP payments, the buyer must provide their account number or secondary identifier, then click the "Send payment request" button. Only after this is the transaction created. It is important to note that after opening the redirect URL, further buyer interaction is required, so the transaction is not immediately available for query. Polling after opening the redirect URL will initially return a 404 HTTP status code.

Header:

FieldTypeDescription
Signaturestring (hex)HMAC signature generated as described above
X-Request-IDstring (uuid)Unique call identifier assigned by the merchant in UUID format, identifying the specific call
X-Correlation-IDstring (uuid)Unique session identifier assigned by the merchant in UUID format, identifying the entire session

Body:

FieldTypeDescription
idempotencyKeystring (uuid)Unique code in UUID format assigned by the merchant
technicalUserIdstringTechnical identifier of the API user (e.g. 10234)
transactionReferencestringUnique transaction identifier code provided in the payment start call
paymentReferencestringPayment identifier received from the aggregator, only usable for EAM transaction queries at the eam/query endpoint
timestampstringTimestamp of request assembly in datetimeoffset format (e.g. 2024-10-04T14:23:45Z)
Example:
{
"idempotencyKey": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"technicalUserId": "string",
"transactionReference": "string",
"timestamp": "2024-10-15T10:14:26.121Z"
}
Response
{
"salt": "TzRxZ+VpvtSv0WAH/OUCe6FBjNwhGqIevYXTjEHTv2s=",
"status": "EXPIRED"
}

The status field can have the following values:

StatusDescription
RECEIVEDA received, validated, error-free request gets RECEIVED status; this initial status is created when a new payment (URL) is created
CANCELLEDThe beneficiary cancelled the EAM. Only an EAM whose payment has not yet been completed can be cancelled.
PAYMENT_ATTEMPTEDThe payment initiation was rejected but can be retried. The changed status indicates that a payment attempt was made previously. (Scanning the QR code in a banking application does not count as an attempt.)
ACCEPTEDThe instant transfer was completed successfully, the requested amount has arrived on the beneficiary's account.
EXPIREDNo status change occurred within the specified expiry time, so the payment status changes to EXPIRED.
REJECTEDThe transaction was rejected due to validation issues, so the payment was not completed.